package com.ruoyi.platform.mapper;

import com.ruoyi.platform.domain.DishAudit;

import java.util.List;

/**
 * 商家菜品上架审核Mapper接口
 *
 * @author ruoyi
 * @date 2024-01-01
 */
public interface DishAuditMapper
{
    /**
     * 查询商家菜品上架审核
     *
     * @param auditId 商家菜品上架审核主键
     * @return 商家菜品上架审核
     */
    public DishAudit selectDishAuditByAuditId(Long auditId);

    /**
     * 查询商家菜品上架审核列表
     *
     * @param dishAudit 商家菜品上架审核
     * @return 商家菜品上架审核集合
     */
    public List<DishAudit> selectDishAuditList(DishAudit dishAudit);

    /**
     * 新增商家菜品上架审核
     *
     * @param dishAudit 商家菜品上架审核
     * @return 结果
     */
    public int insertDishAudit(DishAudit dishAudit);

    /**
     * 修改商家菜品上架审核
     *
     * @param dishAudit 商家菜品上架审核
     * @return 结果
     */
    public int updateDishAudit(DishAudit dishAudit);

    /**
     * 删除商家菜品上架审核
     *
     * @param auditId 商家菜品上架审核主键
     * @return 结果
     */
    public int deleteDishAuditByAuditId(Long auditId);

    /**
     * 批量删除商家菜品上架审核
     *
     * @param auditIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDishAuditByAuditIds(Long[] auditIds);

    /**
     * 更新审核状态
     *
     * @param dishAudit 审核信息
     * @return 结果
     */
    public int updateAuditStatus(DishAudit dishAudit);

    /**
     * 根据商家ID查询待审核菜品列表
     *
     * @param merchantId 商家ID
     * @return 菜品审核列表
     */
    public List<DishAudit> selectPendingDishByMerchantId(Long merchantId);

    /**
     * 根据审核状态统计数量
     *
     * @param auditStatus 审核状态
     * @return 数量
     */
    public int countByAuditStatus(Integer auditStatus);
}
